package com.ruoyi.datastatistics.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.ruoyi.common.annotation.Excel;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * 大表小时用量统计VO
 *
 * @author TsingYu
 * @version 2.0
 * @date 2024/6/20 15:01
 */
@Data
public class DbHourUsageVO implements Serializable {


    private static final long serialVersionUID = -4963963761649436093L;
    /**
     * 终端id
     */
    private String terminalId;
    /**
     * 唯一标识
     */
    private String locationNb;
    /**
     * 终端名称
     */
    @Excel(name = "终端名称")
    private String terminalName;
    /**
     * 出厂编号
     */
    @Excel(name = "出厂编号")
    private String firstSupplierId;
    /**
     * 日期
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @Excel(name = "日期", dateFormat = "yyyy-MM-dd")
    private Date date;
    /**
     * 当天每小时用量
     */
    @JsonIgnore
    private List<HourUsageData> usage;
    /**
     * 查询条件-开始时间，格式：yyyy-MM-dd
     */
    @JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
    private String beginDate;
    /**
     * 查询条件-结束时间，格式：yyyy-MM-dd
     */
    @JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
    private String endDate;
    /**
     * 区域id
     */
    private String sheetsId;
    /**
     * 区域code
     */
    private String sheetsCode;
    /**
     * 当天第1小时内（00:00-01:00）用量
     */
    @Excel(name = "H1")
    private BigDecimal h1;
    /**
     * 当天第2小时内（01:00-02:00）用量
     */
    @Excel(name = "H2")
    private BigDecimal h2;
    /**
     * 当天第3小时内（02:00-03:00）用量
     */
    @Excel(name = "H3")
    private BigDecimal h3;
    /**
     * 当天第4小时内（03:00-04:00）用量
     */
    @Excel(name = "H4")
    private BigDecimal h4;
    /**
     * 当天第5小时内（04:00-05:00）用量
     */
    @Excel(name = "H5")
    private BigDecimal h5;
    /**
     * 当天第6小时内（05:00-06:00）用量
     */
    @Excel(name = "H6")
    private BigDecimal h6;
    /**
     * 当天第7小时内（06:00-07:00）用量
     */
    @Excel(name = "H7")
    private BigDecimal h7;
    /**
     * 当天第8小时内（07:00-08:00）用量
     */
    @Excel(name = "H8")
    private BigDecimal h8;
    /**
     * 当天第9小时内（08:00-09:00）用量
     */
    @Excel(name = "H9")
    private BigDecimal h9;
    /**
     * 当天第10小时内（09:00-10:00）用量
     */
    @Excel(name = "H10")
    private BigDecimal h10;
    /**
     * 当天第11小时内（10:00-11:00）用量
     */
    @Excel(name = "H11")
    private BigDecimal h11;
    /**
     * 当天第12小时内（11:00-12:00）用量
     */
    @Excel(name = "H12")
    private BigDecimal h12;
    /**
     * 当天第13小时内（12:00-13:00）用量
     */
    @Excel(name = "H13")
    private BigDecimal h13;
    /**
     * 当天第14小时内（13:00-14:00）用量
     */
    @Excel(name = "H14")
    private BigDecimal h14;
    /**
     * 当天第15小时内（14:00-15:00）用量
     */
    @Excel(name = "H15")
    private BigDecimal h15;
    /**
     * 当天第16小时内（15:00-16:00）用量
     */
    @Excel(name = "H16")
    private BigDecimal h16;
    /**
     * 当天第17小时内（16:00-17:00）用量
     */
    @Excel(name = "H17")
    private BigDecimal h17;
    /**
     * 当天第18小时内（17:00-18:00）用量
     */
    @Excel(name = "H18")
    private BigDecimal h18;
    /**
     * 当天第19小时内（18:00-19:00）用量
     */
    @Excel(name = "H19")
    private BigDecimal h19;
    /**
     * 当天第20小时内（19:00-20:00）用量
     */
    @Excel(name = "H20")
    private BigDecimal h20;
    /**
     * 当天第21小时内（20:00-21:00）用量
     */
    @Excel(name = "H21")
    private BigDecimal h21;
    /**
     * 当天第22小时内（21:00-22:00）用量
     */
    @Excel(name = "H22")
    private BigDecimal h22;
    /**
     * 当天第23小时内（22:00-23:00）用量
     */
    @Excel(name = "H23")
    private BigDecimal h23;
    /**
     * 当天第24小时内（23:00-24:00）用量
     */
    @Excel(name = "H24")
    private BigDecimal h24;
    @JsonIgnore
    private Integer pageLength;
    @JsonIgnore
    private Integer pageNumber;
    @JsonIgnore
    private Integer offset;
}
